The present invention relates generally to semiconductor microcontrollers, and more particularly to a microcontroller having operating states configured by EPROM fuses and in which the EPROM configuration fuses are emulated by latches for purposes of testing.
Microprocessors have evolved into complex instruments and machines which require sophisticated, fast real-time control capability. Instead of using large microprocessors of 16 or 32 bit capability along with interrupt handler chips, programmable timer chips, ROM and RAM chips, the field has gone to a single chip microcontroller in which all peripherals are embedded on the same chip. Operation of the chip in an expanded mode allows gaining the versatility of all on-chip features. Microcontrollers are used in a wide diversity of present-day applications, with new applications found almost daily. In hand-held instruments such as tiny pocket-sized pagers, the microcontroller is responsive to received characters to interpret them, produce a beep to notify the user of an incoming message (or not if the user prefers an inaudible mode), and poduces multiple mesages among the several last of those received on a suitable display, typically an LCD. The microcontroller can also recall from its internal memory any or all of the messages received in a given period of time. The chip is also used in other instrumentation such as meters and testers, capable of carrying out thousands of tests, each in a millisecond or less.
Other applications include keyboard controllers for personal computers, in which the microcontroller serves to offload many tasks formerly handled by the processor. The chip continuously performs a series of diagnostic procedures, and notifies the processor if it detects a problem. Among other personal computer applications, microcontrollers are used in modems for command interpretation and data transmission, in printer buffers for high speed dumping of data in preparation for driving the printer at the considerably lower speed at which the printer operates or for color plotters, in color copiers, electronic typewriters, cable television terminal equipment, lawn sprinkling controllers, credit card phone equipment, automotive applications such as engine control modules, antilock braking systems, automobile suspension control for desired desination of ride softness or rigidity depending on user preference, and a host of other applications used daily by industrial and consumer customers.
A real time microcontroller is a microcomputer adapted to provide rapid solutions to signal processing algorithms and other numerically intensive computations, and, as well, to control real time events such as opening and closing of relays, controlling the position and speed of a motor, and others such as mentioned above. The central processing unit (CPU) of the microcontroller operates in conjunction with certain peripherals for purposes of such control. The peripherals may include devices such as timers, signal ports, and baud rate generators, among others.
It would be desirable in a microcontroller or related devices to have the capability to configure and, if necessary, reconfigure the device for selection of various available options, features, and/or components to enable each of them to be tested by the user. In a line of prior art microcontroller devices marketed as the PIC.TM.16C5X family by Microchip Technology Inc., assignee of the instant application, the devices were provided with configurability of an on-chip oscillator, an on-chip watchdog timer, and certain code protection modes. The configurability and selection of configuration was selected using EPROM fuses, which are essentially usable only one time because, once written, the fuse is not readily altered to test a new configuration. In addition, writing of EPROM fuses for test purposes is time consuming and increases test time and cost.